package com.abysscore.yachtdesign;

public class TFreeSubdivisionPoint extends TFreeSubdivisionBase{
	private TFasterList FFaces;
	protected TFasterList FEdges;
	private T3DCoordinate FCoordinate;
	private TFreeVertexType FVertexType;

	private TFreeSubdivisionEdge FGetEdge(int Index)
	{
		return null;
	}
	private T3DCoordinate FGetCoordinate()
	{
		return FCoordinate;
	}
	private double FGetCurvature()
	{
		return 0.0;//:extended;
	}
	private TFreeSubdivisionFace FGetFace(int Index)
	{
		//TODO
		return null;
	}
	private int FGetIndex()
	{
		return 0;//                                          virtual;
	}
	private boolean FGetIsBoundaryVertex()
	{
		return false;
	}
	private T3DCoordinate FGetNormal()
	{
		return null;
	}
	private int FGetNumberOfCurves()
	{
		return 0;
	}
	private int FGetNumberOfEdges()
	{
		return 0;
	}
	private int FGetNumberOfFaces()
	{
		return 0;
	}
	private boolean FGetRegularPoint()
	{
		return false;
	}
	private T3DCoordinate FGetLimitPoint()
	{
		//TODO
		return null;
	}
	private void FSetCoordinate(T3DCoordinate Val)
	{
		; 
	}


	public void AddEdge(TFreeSubdivisionEdge Edge)
	{
		FEdges.Add(Edge);
	}
	public void   AddFace(TFreeSubdivisionFace Face)
	{
		;
	}
	public T3DCoordinate Averaging()
	{
		return null;
	}
	public TFreeSubdivisionPoint CalculateVertexPoint()
	{
		return null;//              virtual;
	}
	//public  void   Clear;
	public  TFreeSubdivisionPoint(TFreeSubdivisionSurface Owner)
	{
		super(Owner);//                   override;
	}
	
	public void DeleteEdge(TFreeSubdivisionEdge Edge)
	{
		;
	}
	public void DeleteFace(TFreeSubdivisionFace Face)
	{
		;
	}
	//public  destructor  Destroy;                                                 override;
	public int IndexOfFace(TFreeSubdivisionFace Face)
	{
		return 0;
	}
	public boolean IsRegularNURBSPoint(TFasterList Faces)
	{
		return false;
	}


	public T3DCoordinate Coordinate()
	{
		return FGetCoordinate();
	}
	public void Coordinate(T3DCoordinate val)
	{
		FSetCoordinate(val);
	}
	
	//
	public double Curvature()
	{
		return FGetCurvature();
	}
	
	public TFreeSubdivisionEdge Edge(int index)
	{
		return FGetEdge(index);
	}
	
	public TFreeSubdivisionFace Face(int index)
	{
		return FGetFace(index);
	}
	public boolean IsBoundaryVertex()
	{
		return FGetIsBoundaryVertex();
	}
	
	public T3DCoordinate LimitPoint()
	{
		return FGetLimitPoint();
	}
	public T3DCoordinate Normal()
	{
		return FGetNormal();
	}
	public int NumberOfCurves()
	{
		return FGetNumberOfCurves();
	}
	public int NumberOfEdges()
	{
		return FGetNumberOfEdges();
	}
	public int NumberOfFaces()
	{
		return FGetNumberOfFaces();
	}
	public boolean RegularPoint()
	{
		return FGetRegularPoint();
	}
	public int VertexIndex()
	{
		return FGetIndex();
	}
	public TFreeVertexType VertexType()
	{
		return FVertexType;
	}
	public void VertexType(TFreeVertexType val)
	{
		FVertexType = val;
	}
}
